
package Singletons;

public class Restricciones {

    private static volatile Restricciones instance;
    private static int tamañoBloque;
    private static int minimoBloquesRE;
    private static int maximoBloquesRE;
    private static int numeroFallas;
    private static int tiempoMaximoRE;
    private static int tiempoMinimoRS;

    public final static int minTamañoBloque = 1;
    public final static int minMinimoBloquesRE = 1;
    public final static int minMaximoBloquesRE = 10;
    public final static int minNumeroFallas = 1;
    public final static int minTiempoMaximoRE = 1;
    public final static int minTiempoMinimoRS = 1;

    public final static int maxTamañoBloque = 60;
    public final static int maxMinimoBloquesRE = 3;
    public final static int maxMaximoBloquesRE = 20;
    public final static int maxNumeroFallas = 9;
    public final static int maxTiempoMaximoRE = 200;
    public final static int maxTiempoMinimoRS = 30;

    public static Restricciones getInstance() {
        if(instance==null)
            synchronized(Restricciones.class){
                if(instance==null)
                    instance=new Restricciones();
            }
        return instance;
    }

    public static int getMaximoBloquesRE() {
        return maximoBloquesRE;
    }

    public static void setMaximoBloquesRE(int maximoBloquesRE) {
        Restricciones.maximoBloquesRE = maximoBloquesRE;
    }

    public static int getMinimoBloquesRE() {
        return minimoBloquesRE;
    }

    public static void setMinimoBloquesRE(int minimoBloquesRE) {
        Restricciones.minimoBloquesRE = minimoBloquesRE;
    }

    public static int getNumeroFallas() {
        return numeroFallas;
    }

    public static void setNumeroFallas(int numeroFallas) {
        Restricciones.numeroFallas = numeroFallas;
    }

    public static int getTamañoBloque() {
        return tamañoBloque;
    }

    public static void setTamañoBloque(int tamañoBloque) {
        Restricciones.tamañoBloque = tamañoBloque;
    }

    public static int getTiempoMaximoRE() {
        return tiempoMaximoRE;
    }

    public static void setTiempoMaximoRE(int tiempoMaximoRE) {
        Restricciones.tiempoMaximoRE = tiempoMaximoRE;
    }

    public static int getTiempoMinimoRS() {
        return tiempoMinimoRS;
    }

    public static void setTiempoMinimoRS(int tiempoMinimoRS) {
        Restricciones.tiempoMinimoRS = tiempoMinimoRS;
    }
}